package com.econ.powercloud.ems.dal.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.util.Date;

/**
 * 储能站并离网的步骤表
 * @author jwc
 * @since 2022/08/26
 */
@Data
@TableName(value = "ems_grid_process_step")
public class EmsGridProcessStep {
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 所属节点id
     */
    @TableField(value = "process_node_id")
    private Long processNodeId;

    /**
     * 步骤名称
     */
    @TableField(value = "step_name")
    private String stepName;

    /**
     * 步骤序号
     */
    @TableField(value = "order_num")
    private Integer orderNum;

    /**
     * 最大重试次数
     */
    @TableField(value = "retry_count")
    private Integer retryCount;

    /**
     * 操作类型，1：下发遥控遥调，2：下发命令，3：查询结果，4：手动触发
     */
    @TableField(value = "operation_type")
    private Integer operationType;

    /**
     * 按钮名称，手动触发才会有
     */
    @TableField(value = "button_name")
    private String buttonName;

    /**
     * 设备
     */
    @TableField(value = "init_device_code")
    private String initDeviceCode;

    /**
     * 动作类型，1：遥信，2：遥测，3：遥控，4：遥调，5：移峰填谷
     */
    @TableField(value = "action_type")
    private Integer actionType;

    /**
     * 下发/查询的点号，（移峰填谷存的是装置id）
     */
    @TableField(value = "dit")
    private String dit;

    /**
     * 查询点号名称
     */
    @TableField(value = "dit_name")
    private String ditName;

    /**
     * 下发值
     */
    @TableField(value = "send_val")
    private Double sendVal;

    /**
     * 查询预期值
     */
    @TableField(value = "check_expected_val")
    private String checkExpectedVal;

    /**
     * 查询总轮询时间，单位毫秒
     */
    @TableField(value = "check_total_time")
    private Integer checkTotalTime;

    /**
     * 查询间隔时间，单位毫秒
     */
    @TableField(value = "check_interval_time")
    private Integer checkIntervalTime;

    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 修改时间
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;
}